home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / INTERNET / SITES / LITTLE / BMSRC.ZIP / SYS.S < prev    next >
Encoding:
Text File  |  1996-11-24  |  4.9 KB  |  230 lines

  1.  
  2. *-------------------------------------------------------*
  3. clear_bss:
  4. *-------------------------------------------------------*
  5.     lea        bss_start,a0
  6.     move.l        #(bss_end-bss_start)/4,d0
  7.     moveq        #0,d1
  8. .clr:    move.l        d1,(a0)+
  9.     subq.l        #1,d0
  10.     bne.s        .clr
  11.     rts
  12.  
  13. *---------------------------------------------------------------*
  14. appl_init:
  15. *---------------------------------------------------------------*
  16.     lea        control,a0
  17.     move.w        #10,(a0)+
  18.     move.w        #0,(a0)+
  19.     move.w        #1,(a0)+
  20.     move.w        #0,(a0)+
  21.     move.w        #0,(a0)+
  22.     bsr        AES
  23.     rts
  24.  
  25. *---------------------------------------------------------------*
  26. appl_exit:
  27. *---------------------------------------------------------------*
  28.     lea        control,a0
  29.     move.w        #19,(a0)+
  30.     move.w        #0,(a0)+
  31.     move.w        #1,(a0)+
  32.     move.w        #0,(a0)+
  33.     move.w        #0,(a0)+
  34.     clr.w        int_out
  35.     bsr        AES
  36. .wait:    tst.w        int_out
  37.     beq.s        .wait
  38.     rts
  39.  
  40. *---------------------------------------------------------------*
  41. graf_handle:
  42. *---------------------------------------------------------------*
  43.     lea        control,a0
  44.     move.w        #77,(a0)+
  45.     move.w        #0,(a0)+
  46.     move.w        #5,(a0)+
  47.     move.w        #0,(a0)+
  48.     move.w        #0,(a0)+
  49.     bsr        AES
  50.     move.w        int_out,handle
  51.     rts
  52.  
  53. *---------------------------------------------------------------*
  54. v_opnvwk:
  55. *---------------------------------------------------------------*
  56.     lea        control,a0
  57.     move.w        #100,(a0)+
  58.     move.w        #0,(a0)+
  59.     move.w        #6,(a0)+
  60.     move.w        #11,(a0)+
  61.     move.w        #45,(a0)+
  62.     move.w        #0,(a0)+
  63.     move.w        handle,(a0)+
  64.     lea        int_in,a0
  65.     moveq        #1,d0
  66.     move.w        d0,(a0)+
  67.     move.w        d0,(a0)+
  68.     move.w        d0,(a0)+
  69.     move.w        d0,(a0)+
  70.     move.w        d0,(a0)+
  71.     move.w        d0,(a0)+
  72.     move.w        d0,(a0)+
  73.     move.w        d0,(a0)+
  74.     move.w        d0,(a0)+
  75.     move.w        d0,(a0)+
  76.     move.w        #2,(a0)+
  77.     bsr        VDI
  78.     move.w        control+12,vhandle
  79.     lea        int_out,a0
  80.     move.w        (a0)+,d1
  81.     move.w        (a0)+,d2
  82.     addq.w        #1,d1
  83.     addq.w        #1,d2
  84.     move.w        d1,vwork_w
  85.     move.w        d2,vwork_h
  86.     rts
  87.  
  88. *---------------------------------------------------------------*
  89. v_extnd:
  90. *---------------------------------------------------------------*
  91.     lea        control,a0
  92.     move.w        #102,(a0)+
  93.     move.w        #0,(a0)+
  94.     move.w        #6,(a0)+
  95.     move.w        #1,(a0)+
  96.     move.w        #45,(a0)+
  97.     move.w        #0,(a0)+
  98.     move.w        handle,(a0)+
  99.     move.w        #1,int_in
  100.     bsr        VDI
  101.     lea        int_out,a0
  102.     move.w        8(a0),vwork_c
  103.     rts
  104.  
  105. *---------------------------------------------------------------*
  106. v_clsvwk:
  107. *---------------------------------------------------------------*
  108.     lea        control,a0
  109.     move.w        #101,(a0)+
  110.     move.w        #0,(a0)+
  111.     move.w        #0,(a0)+
  112.     move.w        #0,(a0)+
  113.     move.w        #0,(a0)+
  114.     move.w        #0,(a0)+
  115.     move.w        vhandle,(a0)+
  116.     bsr        VDI
  117.     rts
  118.  
  119. *---------------------------------------------------------------*
  120. v_hidemouse:
  121. *---------------------------------------------------------------*
  122.     lea        control,a0
  123.     move.w        #123,(a0)+
  124.     move.w        #0,(a0)+
  125.     move.w        #0,(a0)+
  126.     move.w        #0,(a0)+
  127.     move.w        #0,(a0)+
  128.     move.w        #0,(a0)+
  129.     move.w        handle,(a0)+
  130.     move.w        #1,int_in
  131.     bsr        VDI
  132.     rts
  133.  
  134. *---------------------------------------------------------------*
  135. v_showmouse:
  136. *---------------------------------------------------------------*
  137.     lea        control,a0
  138.     move.w        #122,(a0)+
  139.     move.w        #0,(a0)+
  140.     move.w        #0,(a0)+
  141.     move.w        #1,(a0)+
  142.     move.w        #0,(a0)+
  143.     move.w        #0,(a0)+
  144.     move.w        handle,(a0)+
  145.     move.w        #1,int_in
  146.     bsr        VDI
  147.     rts
  148.  
  149. *---------------------------------------------------------------*
  150. v_free:
  151. *---------------------------------------------------------------*
  152.     lea        control,a0
  153.     move.w        #51,(a0)+
  154.     move.w        #9,(a0)+
  155.     move.w        #1,(a0)+
  156.     move.w        #0,(a0)+
  157.     move.w        #0,(a0)+
  158.     move.w        os_screen_w,d1
  159.     move.w        os_screen_h,d2
  160.     lea        int_in,a0
  161.     move.w        #3,(a0)+    ; flag
  162.     move.w        #0,(a0)+    ; smallbox
  163.     move.w        #0,(a0)+
  164.     move.w        d1,(a0)+
  165.     move.w        d2,(a0)+
  166.     move.w        #0,(a0)+    ; largebox
  167.     move.w        #0,(a0)+
  168.     move.w        d1,(a0)+
  169.     move.w        d2,(a0)+
  170.     bsr.s        AES
  171.     rts
  172.  
  173. AES:    move.l        #aespb,d1
  174.     move.w        #200,d0
  175.     trap        #2    
  176.     rts
  177.  
  178. VDI:    move.l        #vdipb,d1
  179.     moveq        #115,d0
  180.     trap        #2    
  181.     rts
  182.  
  183. *---------------------------------------------------------------*
  184.             data
  185. *---------------------------------------------------------------*
  186.  
  187. vdipb:            dc.l    control,int_in,pts_in,int_out,pts_out
  188. aespb:            dc.l    control,global,int_in,int_out,addr_in,addr_out
  189.  
  190. *---------------------------------------------------------------*
  191.             bss
  192. *---------------------------------------------------------------*
  193.  
  194. vwork_w:        ds.w    1
  195. vwork_h:        ds.w    1
  196. vwork_c:        ds.w    1
  197.  
  198. control:
  199. opcode:            ds.w    1
  200. sintin:            ds.w    1
  201. sintout:        ds.w    1
  202. saddrin:        ds.w    1
  203. saddrout:        ds.w    1
  204.             ds.w    6
  205.  
  206. global:
  207. apversion:        ds.w    1
  208. apcount:        ds.w    1
  209. apid:            ds.w    1
  210. apprivate:        ds.l    1
  211. apptree:        ds.l    1
  212. ap1resv:        ds.l    1    
  213. ap2resv:        ds.l    1
  214. ap3resv:        ds.l    1
  215. ap4resv:        ds.l    1
  216.  
  217. int_in:            ds.b    256
  218. pts_in:            ds.b    64
  219. int_out:        ds.b    256
  220. pts_out:        ds.b    64
  221. addr_in:        ds.l    4
  222. addr_out        ds.l    4
  223.  
  224. handle:            ds.w    1
  225. vhandle:        ds.w    1
  226.  
  227. *---------------------------------------------------------------*
  228.             text
  229. *---------------------------------------------------------------*
  230.